home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO086A.dsk / STARTUP.bas < prev   
BASIC Source File  |  2012-02-16  |  2KB  |  46 lines

  1. 10  REM  Startup program to prompt for date if no clock
  2. 100  GOSUB 2000
  3. 110  PRINT  CHR$(4)"PREFIX WARP6"
  4. 120  PRINT  CHR$(4)"-STARTUP"
  5. 2000  REM  GET DATE
  6. 2010  IF  PEEK(48902) < >96  OR BIT(0) = 1  THEN  RETURN : REM " IF NO RTS OR FOUND CLOCK"
  7. 2020 M0$ = "JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC": POKE 49168,0
  8. 2030  REM  "GET DATE FROM USER"
  9. 2040 EE = 0
  10. 2050  IF EE  THEN  PRINT : PRINT "INCORRECT FORMAT.":EE = 0
  11. 2060  PRINT : PRINT "ENTER THE DATE; RETURN SKIPS": PRINT : INPUT "FORMAT 03-MAY-88 : ";I$
  12. 2070  IF I$ = ""  THEN  RETURN 
  13. 2080  IF  LEN(I$) < >9 GOTO 2060
  14. 2090  IF  MID$ (I$,3,1) < >"-"  AND  MID$ (I$,7,1) < >"-"  THEN EE = 1: GOTO 2050
  15. 2100 MM$ = ""
  16. 2110  REM  ENSURE MONTH IN UPPERCASE
  17. 2120  FOR X = 4 TO 6
  18. 2130 X$ =  MID$ (I$,X,1)
  19. 2140  IF  ASC( MID$ (I$,X,1)) <123  AND  ASC( MID$ (I$,X,1)) >96  THEN X$ =  CHR$( ASC( MID$ (I$,X,1)) -32)
  20. 2150 MM$ = MM$ +X$
  21. 2160  NEXT X
  22. 2170  REM  GET MONTH
  23. 2180 X = 1
  24. 2190  IF MM$ =  MID$ (M0$,X *3 -2,3)  THEN MM = X: GOTO 2220
  25. 2200 X = X +1: IF X = 13  THEN EE = 1: GOTO 2050
  26. 2210  GOTO 2190
  27. 2220  REM  GET YEAR
  28. 2230 YY =  VAL( MID$ (I$,8,2))
  29. 2240  IF YY = 0  AND  MID$ (I$,8,2) < >"00"  THEN EE = 1: GOTO 2050
  30. 2250  REM  GOT YEAR, GET DAY
  31. 2260 DD =  VAL( MID$ (I$,1,2))
  32. 2270  IF DD < = 0  OR DD >31  THEN EE = 1: GOTO 2050
  33. 2280  ON MM GOTO 2330,2310,2330,2290,2330,2290,2330,2330,2290,2330,2290,2330
  34. 2290  IF DD >30  THEN EE = 1: GOTO 2050
  35. 2291  GOTO 2330
  36. 2300  IF DD <1  OR DD >30  THEN  PRINT : PRINT "Invalid.": GOTO 2290
  37. 2301  GOTO 2330
  38. 2310  IF DD >29  THEN EE = 1: GOTO 2050
  39. 2311  GOTO 2330
  40. 2320  IF  VAL(I$) <1  OR  VAL(I$) >29  THEN 2310
  41. 2330  PRINT : PRINT "DATE SET IS "; STR$(DD);"-";MM$;"-"; STR$(YY);"."
  42. 2340  PRINT : PRINT "CORRECT? (Y/N) : ";: INPUT "";I$: IF I$ = ""  THEN 2340
  43. 2350 I$ =  LEFT$(I$,1): IF I$ < >"Y"  AND I$ < >"y"  THEN 2300
  44. 2360  POKE 49041,YY *2 +(MM >7): IF MM >7  THEN  POKE 49040,(MM -8) *32 +DD
  45. 2370  IF MM <8  THEN  POKE 49040,MM *32 +DD
  46. 2380  RETURN